/**
 * 
 */
package org.gas.barapraja.handler;

import com.logica.smpp.pdu.BindRequest;
import com.logica.smpp.pdu.DataSM;
import com.logica.smpp.pdu.QuerySM;
import com.logica.smpp.pdu.SubmitMultiSM;
import com.logica.smpp.pdu.SubmitSM;

/**
 * @author gilang
 *
 */
public interface RequestHandler {
	
	/**
	 * 
	 * @param request
	 * @return
	 */
	int handleRequest(BindRequest request);
	
	/**
	 * 
	 * @param submitSM
	 * @return
	 */
	int handleRequest(SubmitSM submitSM);
	
	/**
	 * 
	 * @param multiSM
	 * @return
	 */
	int handleRequest(SubmitMultiSM multiSM);
	
	/**
	 * 
	 * @param querySM
	 * @return
	 */
	int handleRequest(QuerySM querySM);
	
	/**
	 * 
	 * @param dataSM
	 * @return
	 */
	int handleRequest(DataSM dataSM);

}
